{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "36fb9562-79b4-4ea4-825d-ba95f2ed6c1b",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import wfdb\n",
    "import glob\n",
    "import re\n",
    "from tqdm import tqdm\n",
    "import joblib\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.model_selection import train_test_split\n",
    "import warnings; warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2644105b-91df-47c6-b150-9417f998ef47",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "SNOMED_CODES = {\n",
    "    '426783006': 'NORM', \n",
    "    '164889003': 'AF',\n",
    "    '270492004': 'IAVB',\n",
    "    '164909002': 'LBBB',\n",
    "    '59118001': 'RBBB',\n",
    "    '284470004': 'PAC',\n",
    "    '164884008': 'VEB', #\n",
    "    '429622005': 'STD',\n",
    "    '164931005': 'STE',\n",
    "}\n",
    "\n",
    "LABELS = ['NORM', 'AF', 'IAVB', 'LBBB', 'RBBB', 'PAC', 'VEB', 'STD', 'STE']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "19033994-a70f-4c92-925c-f2f418371447",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "data_path = './data/origin/'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1a07fe87-f964-4c9a-8ccb-15b0a3ebf8d9",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def downsample(signal, ratio=5):\n",
    "    # Signal of size (L, 12) to (L/ratio, 12)\n",
    "    return signal[::ratio, :]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "88f9f48b-24fc-43b9-9e49-761153b4bff5",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "LENGTH = 1000\n",
    "def crop(signal):\n",
    "    return signal[0:LENGTH, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "02944923-d422-4258-bb1c-4152d13013d1",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def load_raw_data(path):\n",
    "    headers = glob.glob(path+'*.hea')\n",
    "    headers = [h[:-4] for h in headers] # remove extensions\n",
    "    data = []\n",
    "    labels = []\n",
    "    scaler = MinMaxScaler((-1, 1))\n",
    "\n",
    "    for f in tqdm(headers):\n",
    "        signal, meta = wfdb.rdsamp(f)\n",
    "        \n",
    "        # Signal\n",
    "        downsampled = downsample(signal)\n",
    "        l = downsampled.shape[0]\n",
    "        if l < LENGTH: # drop 6 signals of length < 1000\n",
    "            continue\n",
    "        elif l > LENGTH:\n",
    "            downsampled = crop(downsampled)\n",
    "            l = len(downsampled)\n",
    "            assert l == LENGTH\n",
    "            \n",
    "        # Min-max scaling\n",
    "        scaled = scaler.fit_transform(downsampled)\n",
    "        \n",
    "        data.append(scaled)\n",
    "        \n",
    "        # Label\n",
    "        l = meta['comments'][2]\n",
    "        assert l.startswith('Dx:') and l[3] == ' '\n",
    "        lb = [0] * len(LABELS)\n",
    "        # Set one-hot values for diagnosed labels\n",
    "        for sc in l[4:].split(','):\n",
    "            val = SNOMED_CODES[sc]\n",
    "            idx = LABELS.index(val)\n",
    "            lb[idx] = 1\n",
    "            \n",
    "        labels.append(lb)\n",
    "        \n",
    "    assert len(data) == len(labels)\n",
    "    return np.array(data), np.array(labels)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "8b2aa89b-4bae-4cdb-ba59-0cf2839a439a",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|███████████████████████████████████████████████████████████████████████████████████████████████| 6877/6877 [00:22<00:00, 301.52it/s]\n"
     ]
    }
   ],
   "source": [
    "X, y = load_raw_data(data_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3a036af3-f71a-43ba-99e4-dbdfb46d7c0f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "0970a566-cce2-4dc3-b962-cdc5e8eecaac",
   "metadata": {},
   "source": [
    "### Split "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "e1be65d3-66fa-451b-8c7d-72dfbcb804d4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((6871, 1000, 12), (6871, 9))"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape, y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "65e8d416-d499-4625-9dec-707d060b811f",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1, stratify=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "05a30356-2c16-4b35-8fa8-b68a1054a7b5",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.13360852, 0.17749294, 0.10514882, 0.03432544, 0.27025853,\n",
       "       0.08950684, 0.10145557, 0.12622203, 0.03193569])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.sum(axis=0)/len(y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "070a600c-a9b5-4cd9-af4f-16d4dd5faf59",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.13359788, 0.17768959, 0.10493827, 0.03395062, 0.27028219,\n",
       "       0.08906526, 0.10229277, 0.12654321, 0.03218695])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_test.sum(axis=0)/len(y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "d0b1f472-9b60-443e-b33c-eece898c42a1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fe3f12f4b20>]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(X_test[19, :, 5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "25fe9d23-1ee1-41b3-b795-7c6e8a275300",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['./data/y_test.joblib']"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "joblib.dump(X_train, './data/X_train.joblib')\n",
    "joblib.dump(y_train, './data/y_train.joblib')\n",
    "joblib.dump(X_test, './data/X_test.joblib')\n",
    "joblib.dump(y_test, './data/y_test.joblib')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "fa10aca4-54e2-4fa7-a59a-01c923c572d7",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000, 12)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train[0].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "fb4943af-5908-4eb6-93ed-7957c1101170",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(9,)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train[0].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b8f45cf4-3bcf-4cf5-b932-3ff24d73f1c6",
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train = joblib.load('./data/X_train.joblib')\n",
    "y_train = joblib.load('./data/y_train.joblib')\n",
    "X_test = joblib.load('./data/X_test.joblib')\n",
    "y_test = joblib.load('./data/y_test.joblib')\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b4e272e0-d03a-4976-b440-da71c3a200c0",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(4603, 1000, 12)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b8d1c359-bd63-4e1a-ae61-d0e713424e62",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(6871, 1000, 12)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_full = np.concatenate((X_train, X_test))\n",
    "X_full.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1faedf8d-0ea2-43f6-a64b-d069405e97ba",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(6871, 9)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_full = np.concatenate((y_train, y_test))\n",
    "y_full.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "614eb64e-ef81-4deb-a913-d21fa2a2546a",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['./data/y_full.joblib']"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "joblib.dump(X_full, './data/X_full.joblib')\n",
    "joblib.dump(y_full, './data/y_full.joblib')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "20de64a9-9d7e-4302-b521-e97c45e90adb",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ecg",
   "language": "python",
   "name": "ecg"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
